﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.UI.Bovespa.Clientes.Communication.Bovespa.Cliente.Correspondente;
using Sinacor.Infra.UI.Common;
/// Historico:
/// Data : 09/08/2009
/// Autor: Felipe Barbosa Gonzalez
/// 7Comm Informativa   
/// Obs.: Criado os metodos da classe

namespace Sinacor.UI.Bovespa.Clientes.Communication.Translator.ModelToDataContract
{
    public class Correspondente
    {
        public CorrespondenteRequest ToCorrespondenteRequest(Model.Correspondente from)
        {
            CorrespondenteRequest correspondenteRequest = null;

            if (from != null)
            {
                correspondenteRequest = new CorrespondenteRequest();
                correspondenteRequest.Codigo = from.Codigo;
                correspondenteRequest.CodigoMembroBovespa = from.CodigoMembroBovespa;
                correspondenteRequest.CodigoMembro = (from.CodigoMembroBovespa == null ? 0 : (int)from.CodigoMembroBovespa);
                correspondenteRequest.Nome = from.Nome;
                correspondenteRequest.NomeResumidoCorrespondente = from.NomeResumidoCorrespondente;
                correspondenteRequest.PercentualComissao = from.PercentualComissao;
                correspondenteRequest.IndicadorBroker = from.IndicadorBroker;

            }
            return correspondenteRequest;
        }

        public List<CorrespondenteRequest> ToCorrespondenteRequest(ModelCollection<Model.Correspondente> from)
        {
            List<CorrespondenteRequest> toCorrespondenteRequests = null;
            toCorrespondenteRequests = new List<CorrespondenteRequest>();
            foreach (Model.Correspondente item in from)
            {
                toCorrespondenteRequests.Add(ToCorrespondenteRequest(item));
            }
            return toCorrespondenteRequests;
        }

        public FiltroCorrespondenteChaveRequest ToFiltroCorrespondenteChaveRequest(Model.Parameter.FiltroCorrespondenteChave from)
        {
            FiltroCorrespondenteChaveRequest to = null;
            to = new FiltroCorrespondenteChaveRequest();
            if (from != null)
            {
                to.Codigo = from.Codigo.Value;
            }
            return to;
        }

        public List<FiltroCorrespondenteChaveRequest> ToFiltroCorrespondenteChaveRequest(ModelCollection<Model.Parameter.FiltroCorrespondenteChave> from)
        {
            List<FiltroCorrespondenteChaveRequest> toFiltroCorrespondenteChaveRequest = null;
            toFiltroCorrespondenteChaveRequest = new List<FiltroCorrespondenteChaveRequest>();

            foreach (Model.Parameter.FiltroCorrespondenteChave item in from)
            {
                toFiltroCorrespondenteChaveRequest.Add(ToFiltroCorrespondenteChaveRequest(item));
            }
            return toFiltroCorrespondenteChaveRequest;
        }

        public FiltroCorrespondenteRequest ToFiltroCorrespondenteRequest(Model.Parameter.FiltroCorrespondente from)
        {
            FiltroCorrespondenteRequest toFiltroCorrespondenteRequest = null;
            if (from != null)
            {
                toFiltroCorrespondenteRequest = new FiltroCorrespondenteRequest();
                toFiltroCorrespondenteRequest.Nome = from.Nome;
                toFiltroCorrespondenteRequest.Codigo = from.Codigo;
            }
            return toFiltroCorrespondenteRequest;
        }

        public List<FiltroCorrespondenteRequest> ToFiltroCorrespondenteRequest(ModelCollection<Model.Parameter.FiltroCorrespondente> from)
        {
            List<FiltroCorrespondenteRequest> toFiltroCorrespondenteRequest = null;
            toFiltroCorrespondenteRequest = new List<FiltroCorrespondenteRequest>();
            foreach (Model.Parameter.FiltroCorrespondente item in from)
            {
                toFiltroCorrespondenteRequest = new List<FiltroCorrespondenteRequest>();
                toFiltroCorrespondenteRequest.Add(ToFiltroCorrespondenteRequest(item));
            }
            return toFiltroCorrespondenteRequest;
        }
    }
}
